#define  _CRT_SECURE_NO_WARNINGS 1
#include"subtree.h"
 struct TreeNode {
	int val;
	struct TreeNode* left;
	struct TreeNode* right;
};
 
 bool issametree(struct TreeNode* p, struct TreeNode* q)
 {
	 if (p == NULL && q == NULL)
		 return true;
	 if (p == NULL || q == NULL)
		 return false;
	 if (p->val != q->val)
		 return false;
	 return issametree(p->left, q->left) && issametree(p->right, q->right);
 }

bool isSubtree(struct TreeNode* root, struct TreeNode* subRoot) {
	if (root == NULL)
		return false;
	if (root->val == subRoot->val && issametree(root, subRoot))
		return true;
	return isSubtree(root->left, subRoot) || isSubtree(root->right, subRoot);
}